package ObjectFn4;

import java.util.Arrays;
import java.util.Comparator;
import java.util.function.IntToDoubleFunction;

public class test7 {
    public static void main(String[] args) {
        // 1、public static String toString(类型[] arr): 返回数组的内容
        int[] arr = {10, 20, 30, 40, 50, 60};
//        String string = Arrays.toString(arr); // 转成数组了
//        System.out.println(string);

        // 2、public static 类型[] copyOfRange(类型[] arr, 起始索引, 结束索引) ：拷贝数组（指定范围，包前不包后）
//        int[] ints = Arrays.copyOfRange(arr, 0, 1);
//        System.out.println(Arrays.toString(ints));
//        int[] arr2 = Arrays.copyOfRange(arr, 1, 4);
//        System.out.println(Arrays.toString(arr2));
//
        // 3、public static copyOf(类型[] arr, int newLength)：拷贝数组，可以指定新数组的长度。
        int[] ints1 = Arrays.copyOf(arr, 20); // 超出的部分,用0补
//        System.out.println(Arrays.toString(ints1));


//        int[] arr3 = Arrays.copyOf(arr, 10);
//        System.out.println(Arrays.toString(arr3));
//
        // 4、public static setAll(double[] array, IntToDoubleFunction generator)：把数组中的原数据改为新数据又存进去。
//        double[] prices = {99.8, 128, 100};
//        //                  0     1    2
        // 把所有的价格都打八折，然后又存进去。
//        double[] arr1 = {99.8,100,1001};
//        Arrays.setAll(arr1, (int value)-> {
//            // value = 0  1  2
//            System.out.println(value);
//            return arr1[value] * 0.8;
//        });
//        System.out.println(Arrays.toString(arr1));
//        Arrays.setAll(arr, new IntToDoubleFunction() {
//            @Override
//            public double applyAsDouble(int value) {
//                // value = 0  1  2
//                return arr[value] * 0.8;
//            }
//        });
//        System.out.println(Arrays.toString(prices));
//
        // 5、public static void sort(类型[] arr)：对数组进行排序(默认是升序排序)
//        Arrays.sort(prices);
//        System.out.println(Arrays.toString(prices));
        // 目标：掌握如何对数组中的对象进行排序。
        student[] students = new student[4];
        students[0] = new student("蜘蛛精", 169.5, 23);
        students[1] = new student("紫霞", 163.8, 26);
        students[2] = new student("紫霞", 163.8, 26);
        students[3] = new student("至尊宝", 167.5, 24);

//        Arrays.sort(students, new Comparator<student>() {
//            @Override
//            public int compare(student o1, student o2) {
//                return Double.compare(o1.getHeight(),o2.getHeight());
//            }
//        });

        for (int i = 0; i < students.length; i++) {
            System.out.println(students[i]);
        }


























    }
}
